Skip to content
This repository was archived by the owner on Oct 12, 2025. It is now read-only.

Report system#305

Merged
AxenoDev merged 8 commits intoServerOpenMC:mainfrom
rafaeltrx:main
Aug 5, 2024
Merged

Report system#305
AxenoDev merged 8 commits intoServerOpenMC:mainfrom
rafaeltrx:main

Conversation

@rafaeltrx
Copy link
Copy Markdown
Contributor

@rafaeltrx rafaeltrx commented Aug 2, 2024

Implémentation de la V1 du système de signalement des joueurs au comportement ne respectant pas les règles du serveur.

Commandes joueurs :

/report -- Signale un joueur pour le motif spécifié
/report history -- Permet d'afficher tous les signalement que l'on a fait

Commandes modos :

/report see -- Affiche les signalements reçus par le joueur
/report toplist -- Affiche les 5 joueurs les plus signalés
/report clear -- Efface les signalements reçus par le joueur en question

@MathiasDPX
Copy link
Copy Markdown
Contributor

Tu pourrais remplacer /report create par juste /report ?

@rafaeltrx
Copy link
Copy Markdown
Contributor Author

Tu pourrais remplacer /report create par juste /report ?

Fait

@AxenoDev
Copy link
Copy Markdown
Member

AxenoDev commented Aug 3, 2024

Deux chose stp:

  • Fait des optis, genre tu fait un cache quand le serv ce démarre est tu save dans la db quand le serv stop
  • Au lieu de mettre Player, dans ta commande change par OfflinePlayers pour avoir aussi les joueurs hors ligne

@rafaeltrx
Copy link
Copy Markdown
Contributor Author

Deux chose stp:

  • Fait des optis, genre tu fait un cache quand le serv ce démarre est tu save dans la db quand le serv stop

  • Au lieu de mettre Player, dans ta commande change par OfflinePlayers pour avoir aussi les joueurs hors ligne

Bien reçu, je fais ça rapidement !

@rafaeltrx
Copy link
Copy Markdown
Contributor Author

Deux chose stp:

  • Fait des optis, genre tu fait un cache quand le serv ce démarre est tu save dans la db quand le serv stop

  • Au lieu de mettre Player, dans ta commande change par OfflinePlayers pour avoir aussi les joueurs hors ligne

Ceci dit, j'aimerais bien comprendre à quoi sert le cache ? En terme d'optimisation, qu'il y ait 10 requêtes réparties sur la journée ou 10 d'un coup à l'arrêt du serveur ça revient au même ? De plus, si j'implémente une mise en cache, en cas d'un arrêt inopiné du serveur, on perd l'équivalent de l'uptime en data des reports. Tandis qu'avec le système actuel on est sûr de pas avoir de rollback de données.

@Fnafgameur
Copy link
Copy Markdown
Contributor

Deux chose stp:

  • Fait des optis, genre tu fait un cache quand le serv ce démarre est tu save dans la db quand le serv stop
  • Au lieu de mettre Player, dans ta commande change par OfflinePlayers pour avoir aussi les joueurs hors ligne

Ceci dit, j'aimerais bien comprendre à quoi sert le cache ? En terme d'optimisation, qu'il y ait 10 requêtes réparties sur la journée ou 10 d'un coup à l'arrêt du serveur ça revient au même ? De plus, si j'implémente une mise en cache, en cas d'un arrêt inopiné du serveur, on perd l'équivalent de l'uptime en data des reports. Tandis qu'avec le système actuel on est sûr de pas avoir de rollback de données.

Je pense qu'on aimerait éviter un deuxième problème de perf comme avec le /team list, des malins pourraient s'amuser à spammer la commande pour intentionnellement faire lag le serv.
Je pense aussi qu'on préfère perdre quelques reports plutôt que de risquer d'avoir de gros lag in game pouvant être déclenché par un joueur.
Et puis, le Discord est toujours là pour report un joueur, en cas de crash et de perte des reports.

Sinon, tu peux essayer de faire une task (qui tournerait toutes les 10-20 minutes par exemple) qui check si la liste des reports a changé, si oui, ça part en DB, si non, on ne fait rien (ajoute quand même l'enregistrement en DB lors du shut down du serv au cas où).

@rafaeltrx
Copy link
Copy Markdown
Contributor Author

Deux chose stp:

  • Fait des optis, genre tu fait un cache quand le serv ce démarre est tu save dans la db quand le serv stop
  • Au lieu de mettre Player, dans ta commande change par OfflinePlayers pour avoir aussi les joueurs hors ligne

Ceci dit, j'aimerais bien comprendre à quoi sert le cache ? En terme d'optimisation, qu'il y ait 10 requêtes réparties sur la journée ou 10 d'un coup à l'arrêt du serveur ça revient au même ? De plus, si j'implémente une mise en cache, en cas d'un arrêt inopiné du serveur, on perd l'équivalent de l'uptime en data des reports. Tandis qu'avec le système actuel on est sûr de pas avoir de rollback de données.

Je pense qu'on aimerait éviter un deuxième problème de perf comme avec le /team list, des malins pourraient s'amuser à spammer la commande pour intentionnellement faire lag le serv.

Je pense aussi qu'on préfère perdre quelques reports plutôt que de risquer d'avoir de gros lag in game pouvant être déclenché par un joueur.

Et puis, le Discord est toujours là pour report un joueur, en cas de crash et de perte des reports.

Sinon, tu peux essayer de faire une task (qui tournerait toutes les 10-20 minutes par exemple) qui check si la liste des reports a changé, si oui, ça part en DB, si non, on ne fait rien (ajoute quand même l'enregistrement en DB lors du shut down du serv au cas où).

Le truc c'est qu'en dehors de la commande /report (qui est facilement modifiable pour la rendre inspammable) les /report history, et /report see vont forcément devoir faire appel à la db sauf si je charge TOUTE la table de la db en cache au démarrage du serv ce qui est encore moins optimisé. Donc je pense qu'on gagnerait plus à juste mettre des garde-fou sur les commandes pour pas qu'elle puisse être spam.

@AxenoDev
Copy link
Copy Markdown
Member

AxenoDev commented Aug 3, 2024

nan c'est mieux au démarrage

@AxenoDev
Copy link
Copy Markdown
Member

AxenoDev commented Aug 3, 2024

Car en gros la ce que tu fait c'est que pour chaque commande tu fait un requests db et si il y a 100 joueurs dans le report ça va poser problème

@rafaeltrx rafaeltrx closed this Aug 4, 2024
@rafaeltrx rafaeltrx reopened this Aug 4, 2024
@rafaeltrx
Copy link
Copy Markdown
Contributor Author

Deux chose stp:

  • Fait des optis, genre tu fait un cache quand le serv ce démarre est tu save dans la db quand le serv stop
  • Au lieu de mettre Player, dans ta commande change par OfflinePlayers pour avoir aussi les joueurs hors ligne

Je viens de commit ces deux modifs.

@AxenoDev AxenoDev merged commit 3ad0070 into ServerOpenMC:main Aug 5, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants